// 用户先登录，登录成功之后拿到token，然后再保存token到本地

import 'dart:async';
import 'dart:io';

void main() async {
  try {
    // 1.登录
    final token = await Login(username: 'admin', password: '123456');
    print(token);

    // 2.获取用户信息
    final userInfo = await getUserInfo(token: token);
    print(userInfo);

    // 3.保存用户信息
    await saveUserInfo(userInfo: userInfo);
    print('保存用户信息成功');
  } catch (e) {
    print(e);
  }
}

// 登录
Future<String> Login({required String username, required String password}) {
  return Future(() {
    sleep(Duration(seconds: 2));
    return '123454321';
  });
}

// 2.获取用户信息
Future<Map> getUserInfo({required String token}) {
  return Future(() {
    sleep(Duration(seconds: 2));
    return {'username': '张三', 'age': 18};
  });
}

// 3.保存用户信息
Future<void> saveUserInfo({required Map userInfo}) {
  return Future(() {
    sleep(Duration(seconds: 2));
  });
}
